#ifndef _NETWORK__MAXYIEYESPIMEDIATORCONTRE_INTERFACE_IBUFFERUSERREGISTER_H_
#define _NETWORK__MAXYIEYESPIMEDIATORCONTRE_INTERFACE_IBUFFERUSERREGISTER_H_

#include "Spi_Dev_Management/Spi_Buffer_Manager.h"
#include <string>
#include <iostream>

class Ibuffer_User_Register
{
public:
    Ibuffer_User_Register() = default;
    virtual ~Ibuffer_User_Register() = default;

    virtual Soc_In_Data_Buffer* register_in_buffer(const std::string& unique_id, const Buffer_Id& id, 
                                                    const uint16_t& start_position, const size_t& length) = 0;
    virtual Soc_Out_Data_Buffer* register_out_buffer(const std::string& unique_id, const Buffer_Id& id, 
                                                     const uint16_t& start_position, const size_t& length) = 0;
    virtual Soc_In_Data_Buffer* register_whole_in_buffer(const Buffer_Id& id) = 0;
    virtual Soc_Out_Data_Buffer* register_whole_out_buffer(const Buffer_Id& id) = 0;
};





#endif